package pro.shushi.pamirs.translate.enmu;

import pro.shushi.pamirs.meta.annotation.Errors;
import pro.shushi.pamirs.meta.common.enmu.ExpBaseEnum;
import pro.shushi.pamirs.meta.common.enmu.IEnum;

//fixme zbh 20200927 引用过多，特例枚举！！！
@Errors(displayName = "翻译模块错误枚举")
public enum TranslateEnumerate implements ExpBaseEnum, IEnum<Integer> {

    BIZ_ERROR(ERROR_TYPE.BIZ_ERROR, 10052000, ""),
    TRANSLATE_EXIST_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052001, "翻译数据已存在，请勿重复添加"),
    TRANSLATE_ITEM_EXIST_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052002, "源术语不允许重复,{}"),
    TRANSLATE_MODEL_IS_NULL_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052003, "模块名称不允许为空"),
    NOTFOUND_FILE_CLIEND_CONFIG(ERROR_TYPE.SYSTEM_ERROR, 10052004, "未找到文件服务器配置，刷新失败"),
    UNKNOWN_LANG_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052005, "无法识别的语言编码，请正确设置语言的国际编码"),
    CURRENT_HAS_EXPORT_TASK_EXECUTE_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052006, "有导出任务正在执行，请过5分钟后再试"),
    CURRENT_HAS_IMPORT_TASK_EXECUTE_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052007, "有导如任务正在执行，请过5分钟后再试"),
    TRANSLATION_MODULE_ALREADY_EXISTS(ERROR_TYPE.SYSTEM_ERROR, 10052008, "翻译模块已存在，请勿重复添加"),
    SOURCE_TERM_ALREADY_EXISTS_IN_ANOTHER_MODULE(ERROR_TYPE.SYSTEM_ERROR, 10052009, "已存在应用为 {} , 源术语为 {} 的全局翻译项"),
    TARGET_LANGUAGE_EQUALS_SOURCE_LANGUAGE(ERROR_TYPE.SYSTEM_ERROR, 10052010, "目标语言 与 源语言不能相同"),
    SOURCE_LANGUAGE_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052011, "无效的源术语，源术语不能为空"),
    TARGET_LANGUAGE_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052012, "无效的翻译值，翻译值不能为空"),
    SOURCE_TERM_ENCODING_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052013, "源术语编码不能为空"),
    FAILED_TO_CHANGE_TRANSLATION_ITEM(ERROR_TYPE.SYSTEM_ERROR, 10052014, "更改翻译项失败"),
    TRANSLATION_VALUE_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052015, "翻译值不能为空"),
    TRANSLATION_ITEM_ID_NOT_MATCH(ERROR_TYPE.SYSTEM_ERROR, 10052016, "翻译项ID不匹配"),
    TRANSLATION_OF_THE_PERSON_IN_QUESTION(ERROR_TYPE.SYSTEM_ERROR, 10052017, "当前有一位同学正在翻译，请刷新后查看"),
    TRANSLATION_MUST_BE_SELECTED_DURING_THE_INITIAL_TRANSLATION(ERROR_TYPE.SYSTEM_ERROR, 10052018, "导出翻译中是否翻译为必选"),
    MUST_BE_SELECTED_FOR_THE_ORIGINAL_TRANSLATION(ERROR_TYPE.SYSTEM_ERROR, 10052019, "导出翻译中应用范围为必选"),
    TRANSLATION_ITEMS_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052020, "检查翻译项列表是否为空"),
    TRANSLATION_ITEMS_SIZE_INVALID(ERROR_TYPE.SYSTEM_ERROR, 10052021, "检查翻译项列表的大小是否为1"),
    TRANSLATION_APPLICATION_FIELDS_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052022, "无效翻译，应用字段不能为空"),
    TRANSLATION_APPLICATION_FIELD_DOES_NOT_EXIST(ERROR_TYPE.SYSTEM_ERROR, 10052023, "无效翻译，找不到翻译项对应的应用"),
    TARGET_LANGUAGE_ENCODING_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052024, "目标语言编码不能为空"),
    ACTIVATION_STATUS_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052025, "无效的激活项，激活选项只能是‘激活’或者‘未激活’"),
    THE_TRANSLATION_APPLICATION_SCOPE_CANNOT_BE_EMPTY(ERROR_TYPE.SYSTEM_ERROR, 10052026, "翻译应用范围不能不能为空"),
    INVALID_TRANSLATION_SCOPE(ERROR_TYPE.SYSTEM_ERROR, 10052027, "无效翻译应用范围，翻译应用范围只能是 “全局” 或者 “源术语所属应用”"),
    TRANSLATION_APPLICATION_CONFLICT(ERROR_TYPE.SYSTEM_ERROR, 10052028, "{}"),
    TRANSLATION_RESOURCE_DOES_NOT_EXIST(ERROR_TYPE.SYSTEM_ERROR, 10052029, "翻译资源不存在"),
    INITIALIZE_TRANSLATION_RESOURCES(ERROR_TYPE.SYSTEM_ERROR, 10052030, "初始化翻译资源报错"),
    FILE_SIZE_LIMIT_EXCEEDED(ERROR_TYPE.SYSTEM_ERROR, 10052031, "文件限定大小为50MB"),
    TARGET_LANGUAGE_ENCODING_ERROR(ERROR_TYPE.SYSTEM_ERROR, 10052032, "无效的目标语言编码，当前仅支持目标语言编码为{}的翻译"),
    THE_SOURCE_TERM_ALREADY_EXISTS_IN_CURRENT_EXCEL(ERROR_TYPE.SYSTEM_ERROR, 10052033, "源术语为: {} 已存在， 已在当前Excel中设置应用范围为全局翻译项"),
    MODEL_DOES_NOT_EXIST(ERROR_TYPE.SYSTEM_ERROR, 10052034, "模型不存在"),
    ACTION_DOES_NOT_EXIST(ERROR_TYPE.SYSTEM_ERROR, 10052035, "action 不存在");

    private final ERROR_TYPE type;

    private final int code;

    private final String msg;

    TranslateEnumerate(ERROR_TYPE type, int code, String msg) {
        this.type = type;
        this.code = code;
        this.msg = msg;
    }

    @Override
    public ERROR_TYPE type() {
        return type;
    }

    @Override
    public int code() {
        return code;
    }

    @Override
    public String msg() {
        return msg;
    }
}
